package pe.com.trener.layer.model.persistence.daoimpl;

/**
 * @author:   Oscar Erick Candela Carbajal
 * @rol:	  Analista Programador
 * @proyecto: Portal Trener
 *
 */

import java.util.ArrayList;
import java.util.List;

import org.springframework.dao.support.DataAccessUtils;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import pe.com.trener.layer.model.persistence.dao.ActividadIncidenciaClaseDao;
import pe.com.trener.layer.model.pojo.ActividadIncidenciaClase;

public class ActividadIncidenciaClaseDaoImpl extends HibernateDaoSupport implements ActividadIncidenciaClaseDao {

	public void modificar(ActividadIncidenciaClase objectModel) throws Exception {		
		try {
			getHibernateTemplate().update(objectModel);
		} catch(Exception e) {
			e.printStackTrace();
			throw new Exception(e);
		} finally {		
		} 			
	}	
	
	@SuppressWarnings("unchecked")
	public List<ActividadIncidenciaClase> buscarPorClassBookDiario(Integer parametroFk) throws Exception {
		try {
	        List<ActividadIncidenciaClase> resultQuery = new ArrayList<ActividadIncidenciaClase>();
		 	HibernateTemplate ht = getHibernateTemplate();

		 	Object[] values = new Object[1];
	        values[0] = parametroFk;
	        
	        String queryString = " from " +
								 " ActividadIncidenciaClase o " +
								 " where " +
								 " 	  (o.classBookDiario.codigoClassBookDiario = ?)";
	        
	        resultQuery = (List<ActividadIncidenciaClase>)ht.find(queryString, values);
	        
	        return resultQuery;
		} catch(Exception e) {
			e.printStackTrace();
			throw new Exception(e);
		} finally {		
		}           
	}
	
	@SuppressWarnings("unchecked")
	public ActividadIncidenciaClase buscarPorPk(Integer parametroPk) throws Exception {
		try {
	        List<ActividadIncidenciaClase> resultQuery = new ArrayList<ActividadIncidenciaClase>();
	        ActividadIncidenciaClase objectModel = new ActividadIncidenciaClase();
	        HibernateTemplate ht = getHibernateTemplate();
		 			 	
		 	Object[] values = new Object[1];
	        values[0] = parametroPk;
	        
	        String queryString = " from " +
								 " ActividadIncidenciaClase o " +
								 " where " +
								 " 	   (o.codigoActividadIncidenciaClase = ?) ";
	        
	        resultQuery = ht.find(queryString, values);
	        
	        objectModel = (ActividadIncidenciaClase)DataAccessUtils.uniqueResult(resultQuery);
	        
	        return objectModel;
		} catch(Exception e) {
			e.printStackTrace();
			throw new Exception(e);
		} finally {		
		}           
	}	
	
}